public class demo1 {
    public int maxSubArray(int[] nums) {
        // dp[i]表示以i位置为结尾时满足题目的状态
        int n=nums.length;
        int[]dp=new int[n+1];
        dp[0]=0;
        int x=Integer.MIN_VALUE;
        for(int i=1;i<=n;i++){
            dp[i]=Math.max(nums[i-1],dp[i-1]+nums[i-1]);
            x=Math.max(x,dp[i]);
        }
        return x;
    }
}
